Docker 数据卷是否自动删除

1 匿名挂载数据卷

匿名挂载数据卷是指,只给定容器内部的数据卷名称。不给定宿主机的数据卷名称。

1.1 创建容器

请查看以下命令:

docker run -h node111 --rm -it -v data --name kcm_centos01 centos:7.2.1511 

此命令将会在容器内部挂载 /data 目录。而宿主机对应的目录为 xxxxx 数据卷的ID值。

1.2 创建文件

touch /data/kcm_centos01.txt

1.3 容器内部查看数据卷

[root@node111 /]# df -h 
//屏幕输出:
Filesystem           Size  Used Avail Use% Mounted on
overlay               70G  6.5G   64G  10% /
tmpfs                 64M     0   64M   0% /dev
tmpfs                3.8G     0  3.8G   0% /sys/fs/cgroup
shm                   64M     0   64M   0% /dev/shm
/dev/mapper/rl-root   70G  6.5G   64G  10% /data
tmpfs                3.8G     0  3.8G   0% /proc/acpi
tmpfs                3.8G     0  3.8G   0% /proc/scsi
tmpfs                3.8G     0  3.8G   0% /sys/firmware

1.4 宿主机查看数据卷

1.4.1 查看镜像详细信息

docker inspect  kcm_centos01 | grep vol 
//屏幕输出:
                "Type": "volume",
                "Source": "/data/volumes/4a1754542e773782acb23be953be3ad0b08a6a8e430b33b03cc55550af9ea8b6/_data",

1.4.2 查看数据卷

docker volume ls
//屏幕输出:
DRIVER    VOLUME NAME
local     56ed3976f67bc70333634777e68f77bd4f59ee2fee17f9dca2a1228e5d8496c6

1.4.3 进入数据卷查看 kcm_centos01 .txt 文件

cd /data/volumes/4a1754542e773782acb23be953be3ad0b08a6a8e430b33b03cc55550af9ea8b6/_data
ls -l kcm_centos01.txt
//屏幕输出: 
kcm_centos01.txt

1.4.4 退出容器,观察数据卷自动删除

exit
docker volume ls
Warning

数据卷自动删除。

2 具名挂载数据卷

具名挂载数据卷是指宿主机目录名称已指定。
具名挂载的方式 (-v 宿主机路径:容器内路径)

2.1 创建容器

docker run -h node111 --rm -it -v data01:/data01  --name kcm_centos01 centos:7.2.1511 

2.2 创建文件

touch /data/kcm_centos01.txt

2.3 容器内部查看数据卷

df -h 
//屏幕输出
Filesystem           Size  Used Avail Use% Mounted on
overlay               70G  6.5G   64G  10% /
tmpfs                 64M     0   64M   0% /dev
tmpfs                3.8G     0  3.8G   0% /sys/fs/cgroup
shm                   64M     0   64M   0% /dev/shm
/dev/mapper/rl-root   70G  6.5G   64G  10% /data
tmpfs                3.8G     0  3.8G   0% /proc/acpi
tmpfs                3.8G     0  3.8G   0% /proc/scsi
tmpfs                3.8G     0  3.8G   0% /sys/firmware

2.4 宿主机查看数据卷

2.4.1 查看镜像详细信息

docker inspect kcm_centos01  -f {{" .Mounts"}}
                "Source": "/data01",

2.4.2 查看数据卷

2.4.3 进入数据卷查看 kcm_centos01 .txt 文件

2.4.4 退出容器,观察数据卷自动保留

exit
docker volume ls
Warning

数据卷自动保留。

/data/overlay2/36701df4f765db670a1ad8e443fa5d74f7a1c4809b447b4cc37375521704c4ce/merged

如何删除数据卷请参见:Docker 删除数据卷